// kX Driver / kX Driver Interface / kX Driver Effects Library
// Copyright (c) Eugene Gavrilov, 2009.
// All rights reserved

/*
 *   This program is free software; you can redistribute it and/or modify
 *   it under the terms of the GNU General Public License as published by
 *   the Free Software Foundation; either version 2 of the License, or
 *   (at your option) any later version.
 *
 *   This program is distributed in the hope that it will be useful,
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *   GNU General Public License for more details.
 *
 *   You should have received a copy of the GNU General Public License
 *   along with this program; if not, write to the Free Software
 *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 */

// 10kX microcode
// Patch name: 'hphsp+'

char *hphsp2_copyright="Copyright 1999 E-mu Systems/Creative Technology, Ltd. Default parameters and Dane Source (c) Eugene Gavrilov, 2003-2004";
char *hphsp2_engine="EMU10K1_A0";
char *hphsp2_comment="You should have the original Creative Labs .DLL in order to use this effect legally";
char *hphsp2_created="2009/Apr/24";
char *hphsp2_guid="9aa908e6-1ffd-47b6-a51e-d1535ef878ce";

char *hphsp2_name="HPhSp+";
int hphsp2_itramsize=140,hphsp2_xtramsize=0;

dsp_register_info hphsp2_info[]={
    { "stereo_l",0x400a,0x7,0xffff,0x0 },
    { "stereo_r",0x400b,0x7,0xffff,0x0 },

	{ "nw",0x4002,0x7,0xffff,0x0 },
	{ "ne",0x4003,0x7,0xffff,0x0 },
	{ "sw",0x4000,0x7,0xffff,0x0 },
	{ "se",0x4001,0x7,0xffff,0x0 },
	{ "n",0x4006,0x7,0xffff,0x0 },

    { "lfe",0x400c,0x7,0xffff,0x0 },

	{ "w",0x4004,0x7,0xffff,0x0 },
	{ "e",0x4005,0x7,0xffff,0x0 },
	{ "s",0x4007,0x7,0xffff,0x0 },

    // unknown inputs:
	{ "in8",0x4008,0x7,0xffff,0x0 },
	{ "in9",0x4009,0x7,0xffff,0x0 },

    // outputs:
	{ "out0",0x8000,0x8,0xffff,0x0 },
	{ "out1",0x8001,0x8,0xffff,0x0 },

	{ "sti8062",0x8002,0x1,0xffff,0x1c0b4079 },
	{ "sti8063",0x8003,0x1,0xffff,0x15555555 },
	{ "sti8064",0x8004,0x1,0xffff,0xf1529a4 },
	{ "sti8065",0x8005,0x1,0xffff,0x13d3bb26 },
	{ "sti8066",0x8006,0x1,0xffff,0x6 },
	{ "sti8067",0x8007,0x1,0xffff,0x4abf6871 },
	{ "sti8068",0x8008,0x1,0xffff,0xe573c5f6 },
	{ "sti8069",0x8009,0x1,0xffff,0x2190e66b },
	{ "sti806a",0x800a,0x1,0xffff,0xc9348349 },
	{ "sti806b",0x800b,0x1,0xffff,0x10ee9b94 },
	{ "sti806c",0x800c,0x1,0xffff,0xd6af4411 },
	{ "sti806d",0x800d,0x1,0xffff,0x72fae41e },
	{ "sti806e",0x800e,0x1,0xffff,0xecd3fc8a },
	{ "sti806f",0x800f,0x1,0xffff,0x6d24eb30 },
	{ "sti8070",0x8010,0x1,0xffff,0x85daeecd },
	{ "sti8071",0x8011,0x1,0xffff,0x78ab2718 },
	{ "sti8072",0x8012,0x1,0xffff,0x8be75adb },
	{ "sti8073",0x8013,0x1,0xffff,0x6e74524c },
	{ "sti8074",0x8014,0x1,0xffff,0x82e5d96c },
	{ "sti8075",0x8015,0x1,0xffff,0x7ad0b885 },
	{ "sti8076",0x8016,0x1,0xffff,0x83ddf7cd },
	{ "sti8077",0x8017,0x1,0xffff,0x78f945cc },
	{ "sti8078",0x8018,0x1,0xffff,0x6996316a },
	{ "sti8079",0x8019,0x1,0xffff,0xc8851eb4 },
	{ "sti807a",0x801a,0x1,0xffff,0x5b529abf },
	{ "sti807b",0x801b,0x1,0xffff,0xb4f98eab },
	{ "sti807c",0x801c,0x1,0xffff,0x511441fa },
	{ "sti807d",0x801d,0x1,0xffff,0x9a87319 },
	{ "sti807e",0x801e,0x1,0xffff,0x3840e152 },
	{ "sti807f",0x801f,0x1,0xffff,0xcd7b203 },
	{ "sti8080",0x8020,0x1,0xffff,0x66393b21 },
	{ "sti8081",0x8021,0x1,0xffff,0x8742d1d6 },
	{ "sti8082",0x8022,0x1,0xffff,0x724c1bff },
	{ "sti8083",0x8023,0x1,0xffff,0x8bf7b0ff },
	{ "sti8084",0x8024,0x1,0xffff,0x69969e2a },
	{ "sti8085",0x8025,0x1,0xffff,0x84bf5ef8 },
	{ "sti8086",0x8026,0x1,0xffff,0x79cc7d1e },
	{ "sti8087",0x8027,0x1,0xffff,0x86046631 },
	{ "sti8088",0x8028,0x1,0xffff,0x76a9b50d },
	{ "sti8089",0x8029,0x1,0xffff,0x252a94a6 },
	{ "sti808a",0x802a,0x1,0xffff,0xf26a161b },
	{ "sti808b",0x802b,0x1,0xffff,0x16528be1 },
	{ "sti808c",0x802c,0x1,0xffff,0xbfeb3b59 },
	{ "sti808d",0x802d,0x1,0xffff,0x270eefa7 },
	{ "sti808e",0x802e,0x1,0xffff,0x84147db8 },
	{ "sti808f",0x802f,0x1,0xffff,0x7b11d2c9 },
	{ "sti8090",0x8030,0x1,0xffff,0x892696d7 },
	{ "sti8091",0x8031,0x1,0xffff,0x7139e1bc },
	{ "sti8092",0x8032,0x1,0xffff,0x7fffffff },
	{ "sti8093",0x8033,0x1,0xffff,0xd27149ce },
	{ "sti8094",0x8034,0x1,0xffff,0xe4b6e20c },
	{ "sti8095",0x8035,0x1,0xffff,0x9ed2d476 },
	{ "sti8096",0x8036,0x1,0xffff,0x47d1af21 },
	{ "sti8097",0x8037,0x1,0xffff,0xac68666a },
	{ "sti8098",0x8038,0x1,0xffff,0x4874653c },
	{ "sti8099",0x8039,0x1,0xffff,0xb4ac6f5e },
	{ "sti809a",0x803a,0x1,0xffff,0x55ccac7f },
	{ "sti809b",0x803b,0x1,0xffff,0xc30901ea },
	{ "sti809c",0x803c,0x1,0xffff,0x74d3459e },
	{ "sti809d",0x803d,0x1,0xffff,0xdc9130b5 },
	{ "sti809e",0x803e,0x1,0xffff,0x5e9fca21 },
	{ "sti809f",0x803f,0x1,0xffff,0x870de15e },
	{ "sti80a0",0x8040,0x1,0xffff,0x77367276 },
	{ "sti80a1",0x8041,0x1,0xffff,0x897857f1 },
	{ "sti80a2",0x8042,0x1,0xffff,0x724d134e },
	{ "sti80a3",0x8043,0x1,0xffff,0xad8de40 },
	{ "sti80a4",0x8044,0x1,0xffff,0xfbc873b6 },
	{ "sti80a5",0x8045,0x1,0xffff,0xff2410c3 },
	{ "sti80a6",0x8046,0x1,0xffff,0x8be732e7 },
	{ "sti80a7",0x8047,0x1,0xffff,0x6a3c9576 },
	{ "sti80a8",0x8048,0x1,0xffff,0x4dd71ec3 },
	{ "sti80a9",0x8049,0x1,0xffff,0x1049b5eb },
	{ "sti80aa",0x804a,0x1,0xffff,0x4767edd9 },
	{ "sti80ab",0x804b,0x1,0xffff,0xdc3b4e1 },
	{ "sti80ac",0x804c,0x1,0xffff,0x5bb1e503 },
	{ "sti80ad",0x804d,0x1,0xffff,0x9c7855d8 },
	{ "sti80ae",0x804e,0x1,0xffff,0x7b805749 },
	{ "sti80af",0x804f,0x1,0xffff,0xaa08d4a2 },
	{ "sti80b0",0x8050,0x1,0xffff,0x5de72e2e },
	{ "sti80b1",0x8051,0x1,0xffff,0xc9226891 },
	{ "sti80b2",0x8052,0x1,0xffff,0x7b7c6c60 },
	{ "sti80b3",0x8053,0x1,0xffff,0xd3dfa765 },
	{ "sti80b4",0x8054,0x1,0xffff,0x639b912f },
	{ "sti80b5",0x8055,0x1,0xffff,0x85475b4c },
	{ "sti80b6",0x8056,0x1,0xffff,0x77290919 },
	{ "sti80b7",0x8057,0x1,0xffff,0x843012cd },
	{ "sti80b8",0x8058,0x1,0xffff,0x7965b1f0 },
	{ "sti80b9",0x8059,0x1,0xffff,0x2f829b43 },
	{ "sti80ba",0x805a,0x1,0xffff,0xe7de6621 },
	{ "sti80bb",0x805b,0x1,0xffff,0x27f27061 },
	{ "sti80bc",0x805c,0x1,0xffff,0xc74e31e9 },
	{ "sti80bd",0x805d,0x1,0xffff,0x30ab045c },
	{ "sti80be",0x805e,0x1,0xffff,0x9ef0929 },
	{ "sti80bf",0x805f,0x1,0xffff,0x5546aee6 },
	{ "sti80c0",0x8060,0x1,0xffff,0xedc79f4f },
	{ "sti80c1",0x8061,0x1,0xffff,0x62460d91 },
	{ "sti80c2",0x8062,0x1,0xffff,0x1934a85a },
	{ "sti80c3",0x8063,0x1,0xffff,0xc9430b },
	{ "sti80c4",0x8064,0x1,0xffff,0xebc74fd4 },
	{ "sti80c5",0x8065,0x1,0xffff,0xf0ea6162 },
	{ "sti80c6",0x8066,0x1,0xffff,0xaf100825 },
	{ "sti80c7",0x8067,0x1,0xffff,0xccdb5ebe },
	{ "sti80c8",0x8068,0x1,0xffff,0x1a3508a7 },
	{ "sti80c9",0x8069,0x1,0xffff,0xa0517b12 },
	{ "sti80ca",0x806a,0x1,0xffff,0x59420dcb },
	{ "sti80cb",0x806b,0x1,0xffff,0x8669f3be },
	{ "sti80cc",0x806c,0x1,0xffff,0x752b87e0 },
	{ "sti80cd",0x806d,0x1,0xffff,0x84a0bdff },
	{ "sti80ce",0x806e,0x1,0xffff,0x78c9b491 },
	{ "dyn8002",0x806f,0x1,0xffff,0x0 },
	{ "dyn8003",0x8070,0x1,0xffff,0x0 },
	{ "dyn8004",0x8071,0x1,0xffff,0x0 },
	{ "dyn8005",0x8072,0x1,0xffff,0x0 },
	{ "dyn8006",0x8073,0x1,0xffff,0x0 },
	{ "dyn8007",0x8074,0x1,0xffff,0x0 },
	{ "dyn8008",0x8075,0x1,0xffff,0x0 },
	{ "dyn8009",0x8076,0x1,0xffff,0x0 },
	{ "dyn800a",0x8077,0x1,0xffff,0x0 },
	{ "dyn800b",0x8078,0x1,0xffff,0x0 },
	{ "dyn800c",0x8079,0x1,0xffff,0x0 },
	{ "dyn800d",0x807a,0x1,0xffff,0x0 },
	{ "dyn800e",0x807b,0x1,0xffff,0x0 },
	{ "dyn800f",0x807c,0x1,0xffff,0x0 },
	{ "dyn8010",0x807d,0x1,0xffff,0x0 },
	{ "dyn8011",0x807e,0x1,0xffff,0x0 },
	{ "dyn8012",0x807f,0x1,0xffff,0x0 },
	{ "dyn8013",0x8080,0x1,0xffff,0x0 },
	{ "dyn8014",0x8081,0x1,0xffff,0x0 },
	{ "dyn8015",0x8082,0x1,0xffff,0x0 },
	{ "dyn8016",0x8083,0x1,0xffff,0x0 },
	{ "dyn8017",0x8084,0x1,0xffff,0x0 },
	{ "dyn8018",0x8085,0x1,0xffff,0x0 },
	{ "dyn8019",0x8086,0x1,0xffff,0x0 },
	{ "dyn801a",0x8087,0x1,0xffff,0x0 },
	{ "dyn801b",0x8088,0x1,0xffff,0x0 },
	{ "dyn801c",0x8089,0x1,0xffff,0x0 },
	{ "dyn801d",0x808a,0x1,0xffff,0x0 },
	{ "dyn801e",0x808b,0x1,0xffff,0x0 },
	{ "dyn801f",0x808c,0x1,0xffff,0x0 },
	{ "dyn8020",0x808d,0x1,0xffff,0x0 },
	{ "dyn8021",0x808e,0x1,0xffff,0x0 },
	{ "dyn8022",0x808f,0x1,0xffff,0x0 },
	{ "dyn8023",0x8090,0x1,0xffff,0x0 },
	{ "dyn8024",0x8091,0x1,0xffff,0x0 },
	{ "dyn8025",0x8092,0x1,0xffff,0x0 },
	{ "dyn8026",0x8093,0x1,0xffff,0x0 },
	{ "dyn8027",0x8094,0x1,0xffff,0x0 },
	{ "dyn8028",0x8095,0x1,0xffff,0x0 },
	{ "dyn8029",0x8096,0x1,0xffff,0x0 },
	{ "dyn802a",0x8097,0x1,0xffff,0x0 },
	{ "dyn802b",0x8098,0x1,0xffff,0x0 },
	{ "dyn802c",0x8099,0x1,0xffff,0x0 },
	{ "dyn802d",0x809a,0x1,0xffff,0x0 },
	{ "dyn802e",0x809b,0x1,0xffff,0x0 },
	{ "dyn802f",0x809c,0x1,0xffff,0x0 },
	{ "dyn8030",0x809d,0x1,0xffff,0x0 },
	{ "dyn8031",0x809e,0x1,0xffff,0x0 },
	{ "dyn8032",0x809f,0x1,0xffff,0x0 },
	{ "dyn8033",0x80a0,0x1,0xffff,0x0 },
	{ "dyn8034",0x80a1,0x1,0xffff,0x0 },
	{ "dyn8035",0x80a2,0x1,0xffff,0x0 },
	{ "dyn8036",0x80a3,0x1,0xffff,0x0 },
	{ "dyn8037",0x80a4,0x1,0xffff,0x0 },
	{ "dyn8038",0x80a5,0x1,0xffff,0x0 },
	{ "dyn8039",0x80a6,0x1,0xffff,0x0 },
	{ "dyn803a",0x80a7,0x1,0xffff,0x0 },
	{ "dyn803b",0x80a8,0x1,0xffff,0x0 },
	{ "dyn803c",0x80a9,0x1,0xffff,0x0 },
	{ "dyn803d",0x80aa,0x1,0xffff,0x0 },
	{ "dyn803e",0x80ab,0x1,0xffff,0x0 },
	{ "dyn803f",0x80ac,0x1,0xffff,0x0 },
	{ "dyn8040",0x80ad,0x1,0xffff,0x0 },
	{ "dyn8041",0x80ae,0x1,0xffff,0x0 },
	{ "dyn8042",0x80af,0x1,0xffff,0x0 },
	{ "dyn8043",0x80b0,0x1,0xffff,0x0 },
	{ "dyn8044",0x80b1,0x1,0xffff,0x0 },
	{ "dyn8045",0x80b2,0x1,0xffff,0x0 },
	{ "dyn8046",0x80b3,0x1,0xffff,0x0 },
	{ "dyn8047",0x80b4,0x1,0xffff,0x0 },
	{ "dyn8048",0x80b5,0x1,0xffff,0x0 },
	{ "dyn8049",0x80b6,0x1,0xffff,0x0 },
	{ "dyn804a",0x80b7,0x1,0xffff,0x0 },
	{ "dyn804b",0x80b8,0x1,0xffff,0x0 },
	{ "dyn804c",0x80b9,0x1,0xffff,0x0 },
	{ "dyn804d",0x80ba,0x1,0xffff,0x0 },
	{ "dyn804e",0x80bb,0x1,0xffff,0x0 },
	{ "dyn804f",0x80bc,0x1,0xffff,0x0 },
	{ "dyn8050",0x80bd,0x1,0xffff,0x0 },
	{ "dyn8051",0x80be,0x1,0xffff,0x0 },
	{ "dyn8052",0x80bf,0x1,0xffff,0x0 },
	{ "dyn8053",0x80c0,0x1,0xffff,0x0 },
	{ "dyn8054",0x80c1,0x1,0xffff,0x0 },
	{ "dyn8055",0x80c2,0x1,0xffff,0x0 },
	{ "dyn8056",0x80c3,0x1,0xffff,0x0 },
	{ "dyn8057",0x80c4,0x1,0xffff,0x0 },
	{ "dyn8058",0x80c5,0x1,0xffff,0x0 },
	{ "dyn8059",0x80c6,0x1,0xffff,0x0 },
	{ "dyn805a",0x80c7,0x1,0xffff,0x0 },
	{ "dyn805b",0x80c8,0x1,0xffff,0x0 },
	{ "dyn805c",0x80c9,0x1,0xffff,0x0 },
	{ "dyn805d",0x80ca,0x1,0xffff,0x0 },
	{ "dyn805e",0x80cb,0x1,0xffff,0x0 },
	{ "dyn805f",0x80cc,0x1,0xffff,0x0 },
	{ "dyn8060",0x80cd,0x1,0xffff,0x0 },
	{ "dyn8061",0x80ce,0x1,0xffff,0x0 },
	{ "tmp80e7",0x80cf,0x3,0xffff,0x0 },
	{ "tmp80e8",0x80d0,0x3,0xffff,0x0 },
	{ "tmp80e9",0x80d1,0x3,0xffff,0x0 },
	{ "tmp80ea",0x80d2,0x3,0xffff,0x0 },
	{ "itr80cf",0x80d3,0x49,0xffff,0x0 },
	{ "&itr80cf",0x80d4,0xb,0xffff,0x0 },
	{ "itr80d1",0x80d5,0x49,0xffff,0x10 },
	{ "&itr80d1",0x80d6,0xb,0xffff,0x10 },
	{ "itr80d3",0x80d7,0x29,0xffff,0xf },
	{ "&itr80d3",0x80d8,0xb,0xffff,0xf },
	{ "itr80d5",0x80d9,0x29,0xffff,0x1f },
	{ "&itr80d5",0x80da,0xb,0xffff,0x1f },
	{ "itr80d7",0x80db,0x49,0xffff,0x20 },
	{ "&itr80d7",0x80dc,0xb,0xffff,0x20 },
	{ "itr80d9",0x80dd,0x49,0xffff,0x46 },
	{ "&itr80d9",0x80de,0xb,0xffff,0x46 },
	{ "itr80db",0x80df,0x29,0xffff,0x45 },
	{ "&itr80db",0x80e0,0xb,0xffff,0x45 },
	{ "itr80dd",0x80e1,0x29,0xffff,0x6b },
	{ "&itr80dd",0x80e2,0xb,0xffff,0x6b },
	{ "itr80df",0x80e3,0x49,0xffff,0x6c },
	{ "&itr80df",0x80e4,0xb,0xffff,0x6c },
	{ "itr80e1",0x80e5,0x49,0xffff,0x7c },
	{ "&itr80e1",0x80e6,0xb,0xffff,0x7c },
	{ "itr80e3",0x80e7,0x29,0xffff,0x7b },
	{ "&itr80e3",0x80e8,0xb,0xffff,0x7b },
	{ "itr80e5",0x80e9,0x29,0xffff,0x8b },
	{ "&itr80e5",0x80ea,0xb,0xffff,0x8b },
};

dsp_code hphsp2_code[]={

    // w[4004] = w + stereo_l[400a] + lfe[400c]/2
    // e[4005] = e + stereo_r[400b] + lfe[400c]/2
    { MACS, 0x400c, 0x2040, 0x400c, C_40000000 },
    { ACC3, 0x4004, 0x4004, 0x400a, 0x400c },
    { ACC3, 0x4005, 0x4005, 0x400b, 0x400c },

	{ 0x0,0x80d1,0x2040,0x8002,0x4000 },
	{ 0x0,0x80d3,0x80d1,0x2040,0x2040 },
	{ 0x0,0x80cf,0x80ab,0x8048,0x80d1 },
	{ 0x0,0x80ab,0x2040,0x8049,0x80d1 },
	{ 0x1,0x80ab,0x80ab,0x804b,0x80cf },
	{ 0x4,0x80ab,0x80ad,0x2042,0x80ab },
	{ 0x0,0x80ad,0x2040,0x804a,0x80d1 },
	{ 0x1,0x80ad,0x80ad,0x804c,0x80cf },
	{ 0x1,0x80d0,0x80af,0x80cf,0x204e },
	{ 0x0,0x80af,0x2040,0x804d,0x80cf },
	{ 0x1,0x80af,0x80af,0x804f,0x80d0 },
	{ 0x4,0x80af,0x80b1,0x2042,0x80af },
	{ 0x0,0x80b1,0x2040,0x804e,0x80cf },
	{ 0x1,0x80b1,0x80b1,0x8050,0x80d0 },
	{ 0x1,0x80cf,0x80b3,0x80d0,0x204e },
	{ 0x0,0x80b3,0x2040,0x8051,0x80d0 },
	{ 0x1,0x80b3,0x80b3,0x8053,0x80cf },
	{ 0x4,0x80b3,0x80b5,0x2042,0x80b3 },
	{ 0x0,0x80b5,0x2040,0x8052,0x80d0 },
	{ 0x1,0x80b5,0x80b5,0x8054,0x80cf },
	{ 0x1,0x8000,0x80b7,0x80cf,0x204e },
	{ 0x0,0x80b7,0x2040,0x8055,0x80cf },
	{ 0x1,0x80b7,0x80b7,0x8057,0x8000 },
	{ 0x4,0x80b7,0x80b9,0x2042,0x80b7 },
	{ 0x0,0x80b9,0x2040,0x8056,0x80cf },
	{ 0x1,0x80b9,0x80b9,0x8058,0x8000 },
	{ 0x0,0x80cf,0x80bb,0x8059,0x80d9 },
	{ 0x0,0x80bb,0x2040,0x805a,0x80d9 },
	{ 0x1,0x80bb,0x80bb,0x805c,0x80cf },
	{ 0x4,0x80bb,0x80bd,0x2042,0x80bb },
	{ 0x0,0x80bd,0x2040,0x805b,0x80d9 },
	{ 0x1,0x80bd,0x80bd,0x805d,0x80cf },
	{ 0x1,0x80d0,0x80bf,0x80cf,0x204e },
	{ 0x0,0x80bf,0x2040,0x805e,0x80cf },
	{ 0x1,0x80bf,0x80bf,0x8060,0x80d0 },
	{ 0x4,0x80bf,0x80c1,0x2042,0x80bf },
	{ 0x0,0x80c1,0x2040,0x805f,0x80cf },
	{ 0x1,0x80c1,0x80c1,0x8061,0x80d0 },
	{ 0x1,0x8000,0x8000,0x80d0,0x204e },
	{ 0x0,0x80d1,0x2040,0x8002,0x4001 },
	{ 0x0,0x80d5,0x80d1,0x2040,0x2040 },
	{ 0x0,0x80cf,0x80ac,0x8048,0x80d1 },
	{ 0x0,0x80ac,0x2040,0x8049,0x80d1 },
	{ 0x1,0x80ac,0x80ac,0x804b,0x80cf },
	{ 0x4,0x80ac,0x80ae,0x2042,0x80ac },
	{ 0x0,0x80ae,0x2040,0x804a,0x80d1 },
	{ 0x1,0x80ae,0x80ae,0x804c,0x80cf },
	{ 0x1,0x80d0,0x80b0,0x80cf,0x204e },
	{ 0x0,0x80b0,0x2040,0x804d,0x80cf },
	{ 0x1,0x80b0,0x80b0,0x804f,0x80d0 },
	{ 0x4,0x80b0,0x80b2,0x2042,0x80b0 },
	{ 0x0,0x80b2,0x2040,0x804e,0x80cf },
	{ 0x1,0x80b2,0x80b2,0x8050,0x80d0 },
	{ 0x1,0x80cf,0x80b4,0x80d0,0x204e },
	{ 0x0,0x80b4,0x2040,0x8051,0x80d0 },
	{ 0x1,0x80b4,0x80b4,0x8053,0x80cf },
	{ 0x4,0x80b4,0x80b6,0x2042,0x80b4 },
	{ 0x0,0x80b6,0x2040,0x8052,0x80d0 },
	{ 0x1,0x80b6,0x80b6,0x8054,0x80cf },
	{ 0x1,0x8001,0x80b8,0x80cf,0x204e },
	{ 0x0,0x80b8,0x2040,0x8055,0x80cf },
	{ 0x1,0x80b8,0x80b8,0x8057,0x8001 },
	{ 0x4,0x80b8,0x80ba,0x2042,0x80b8 },
	{ 0x0,0x80ba,0x2040,0x8056,0x80cf },
	{ 0x1,0x80ba,0x80ba,0x8058,0x8001 },
	{ 0x0,0x80cf,0x80bc,0x8059,0x80d7 },
	{ 0x0,0x80bc,0x2040,0x805a,0x80d7 },
	{ 0x1,0x80bc,0x80bc,0x805c,0x80cf },
	{ 0x4,0x80bc,0x80be,0x2042,0x80bc },
	{ 0x0,0x80be,0x2040,0x805b,0x80d7 },
	{ 0x1,0x80be,0x80be,0x805d,0x80cf },
	{ 0x1,0x80d0,0x80c0,0x80cf,0x204e },
	{ 0x0,0x80c0,0x2040,0x805e,0x80cf },
	{ 0x1,0x80c0,0x80c0,0x8060,0x80d0 },
	{ 0x4,0x80c0,0x80c2,0x2042,0x80c0 },
	{ 0x0,0x80c2,0x2040,0x805f,0x80cf },
	{ 0x1,0x80c2,0x80c2,0x8061,0x80d0 },
	{ 0x1,0x8001,0x8001,0x80d0,0x204e },
	{ 0x0,0x80d1,0x2040,0x8002,0x4007 },
	{ 0x0,0x80cf,0x80c3,0x8062,0x80d1 },
	{ 0x0,0x80c3,0x2040,0x8063,0x80d1 },
	{ 0x1,0x80c3,0x80c3,0x8065,0x80cf },
	{ 0x4,0x80c3,0x80c5,0x2042,0x80c3 },
	{ 0x0,0x80c5,0x2040,0x8064,0x80d1 },
	{ 0x1,0x80c5,0x80c5,0x8066,0x80cf },
	{ 0x1,0x80d0,0x80c7,0x80cf,0x204e },
	{ 0x0,0x80c7,0x2040,0x8067,0x80cf },
	{ 0x1,0x80c7,0x80c7,0x8069,0x80d0 },
	{ 0x4,0x80c7,0x80c9,0x2042,0x80c7 },
	{ 0x0,0x80c9,0x2040,0x8068,0x80cf },
	{ 0x1,0x80c9,0x80c9,0x806a,0x80d0 },
	{ 0x1,0x80d2,0x80cb,0x80d0,0x204e },
	{ 0x0,0x80cb,0x2040,0x806b,0x80d0 },
	{ 0x1,0x80cb,0x80cb,0x806d,0x80d2 },
	{ 0x4,0x80cb,0x80cd,0x2042,0x80cb },
	{ 0x0,0x80cd,0x2040,0x806c,0x80d0 },
	{ 0x1,0x80cd,0x80cd,0x806e,0x80d2 },
	{ 0x1,0x8000,0x8000,0x80d2,0x204e },
	{ 0x1,0x8001,0x8001,0x80d2,0x204e },
	{ 0x0,0x80d1,0x2040,0x8002,0x4004 },
	{ 0x0,0x80db,0x80d1,0x2040,0x2040 },
	{ 0x0,0x80cf,0x8097,0x8032,0x80d1 },
	{ 0x0,0x8097,0x2040,0x8033,0x80d1 },
	{ 0x1,0x8097,0x8097,0x8035,0x80cf },
	{ 0x4,0x8097,0x8099,0x2042,0x8097 },
	{ 0x0,0x8099,0x2040,0x8034,0x80d1 },
	{ 0x1,0x8099,0x8099,0x8036,0x80cf },
	{ 0x1,0x80d0,0x809b,0x80cf,0x204e },
	{ 0x0,0x809b,0x2040,0x8037,0x80cf },
	{ 0x1,0x809b,0x809b,0x8039,0x80d0 },
	{ 0x4,0x809b,0x809d,0x2042,0x809b },
	{ 0x0,0x809d,0x2040,0x8038,0x80cf },
	{ 0x1,0x809d,0x809d,0x803a,0x80d0 },
	{ 0x1,0x80cf,0x809f,0x80d0,0x204e },
	{ 0x0,0x809f,0x2040,0x803b,0x80d0 },
	{ 0x1,0x809f,0x809f,0x803d,0x80cf },
	{ 0x4,0x809f,0x80a1,0x2042,0x809f },
	{ 0x0,0x80a1,0x2040,0x803c,0x80d0 },
	{ 0x1,0x80a1,0x80a1,0x803e,0x80cf },
	{ 0x1,0x80d0,0x80a3,0x80cf,0x204e },
	{ 0x0,0x80a3,0x2040,0x803f,0x80cf },
	{ 0x1,0x80a3,0x80a3,0x8041,0x80d0 },
	{ 0x4,0x80a3,0x80a5,0x2042,0x80a3 },
	{ 0x0,0x80a5,0x2040,0x8040,0x80cf },
	{ 0x1,0x80a5,0x80a5,0x8042,0x80d0 },
	{ 0x1,0x8000,0x8000,0x80d0,0x204e },
	{ 0x0,0x80d2,0x80e1,0x2040,0x2040 },
	{ 0x0,0x80cf,0x80a7,0x8043,0x80d2 },
	{ 0x0,0x80a7,0x2040,0x8044,0x80d2 },
	{ 0x1,0x80a7,0x80a7,0x8046,0x80cf },
	{ 0x4,0x80a7,0x80a9,0x2042,0x80a7 },
	{ 0x0,0x80a9,0x2040,0x8045,0x80d2 },
	{ 0x1,0x80a9,0x80a9,0x8047,0x80cf },
	{ 0x1,0x8000,0x8000,0x80cf,0x204e },
	{ 0x0,0x80d1,0x2040,0x8002,0x4005 },
	{ 0x0,0x80dd,0x80d1,0x2040,0x2040 },
	{ 0x0,0x80cf,0x8098,0x8032,0x80d1 },
	{ 0x0,0x8098,0x2040,0x8033,0x80d1 },
	{ 0x1,0x8098,0x8098,0x8035,0x80cf },
	{ 0x4,0x8098,0x809a,0x2042,0x8098 },
	{ 0x0,0x809a,0x2040,0x8034,0x80d1 },
	{ 0x1,0x809a,0x809a,0x8036,0x80cf },
	{ 0x1,0x80d0,0x809c,0x80cf,0x204e },
	{ 0x0,0x809c,0x2040,0x8037,0x80cf },
	{ 0x1,0x809c,0x809c,0x8039,0x80d0 },
	{ 0x4,0x809c,0x809e,0x2042,0x809c },
	{ 0x0,0x809e,0x2040,0x8038,0x80cf },
	{ 0x1,0x809e,0x809e,0x803a,0x80d0 },
	{ 0x1,0x80cf,0x80a0,0x80d0,0x204e },
	{ 0x0,0x80a0,0x2040,0x803b,0x80d0 },
	{ 0x1,0x80a0,0x80a0,0x803d,0x80cf },
	{ 0x4,0x80a0,0x80a2,0x2042,0x80a0 },
	{ 0x0,0x80a2,0x2040,0x803c,0x80d0 },
	{ 0x1,0x80a2,0x80a2,0x803e,0x80cf },
	{ 0x1,0x80d0,0x80a4,0x80cf,0x204e },
	{ 0x0,0x80a4,0x2040,0x803f,0x80cf },
	{ 0x1,0x80a4,0x80a4,0x8041,0x80d0 },
	{ 0x4,0x80a4,0x80a6,0x2042,0x80a4 },
	{ 0x0,0x80a6,0x2040,0x8040,0x80cf },
	{ 0x1,0x80a6,0x80a6,0x8042,0x80d0 },
	{ 0x1,0x8001,0x8001,0x80d0,0x204e },
	{ 0x0,0x80d2,0x80df,0x2040,0x2040 },
	{ 0x0,0x80cf,0x80a8,0x8043,0x80d2 },
	{ 0x0,0x80a8,0x2040,0x8044,0x80d2 },
	{ 0x1,0x80a8,0x80a8,0x8046,0x80cf },
	{ 0x4,0x80a8,0x80aa,0x2042,0x80a8 },
	{ 0x0,0x80aa,0x2040,0x8045,0x80d2 },
	{ 0x1,0x80aa,0x80aa,0x8047,0x80cf },
	{ 0x1,0x8001,0x8001,0x80cf,0x204e },
	{ 0x0,0x80d1,0x2040,0x8002,0x4006 },
	{ 0x0,0x80cf,0x806f,0x8007,0x80d1 },
	{ 0x0,0x806f,0x2040,0x8008,0x80d1 },
	{ 0x1,0x806f,0x806f,0x800a,0x80cf },
	{ 0x4,0x806f,0x8071,0x2042,0x806f },
	{ 0x0,0x8071,0x2040,0x8009,0x80d1 },
	{ 0x1,0x8071,0x8071,0x800b,0x80cf },
	{ 0x1,0x80d0,0x8073,0x80cf,0x204e },
	{ 0x0,0x8073,0x2040,0x800c,0x80cf },
	{ 0x1,0x8073,0x8073,0x800e,0x80d0 },
	{ 0x4,0x8073,0x8075,0x2042,0x8073 },
	{ 0x0,0x8075,0x2040,0x800d,0x80cf },
	{ 0x1,0x8075,0x8075,0x800f,0x80d0 },
	{ 0x1,0x80cf,0x8077,0x80d0,0x204e },
	{ 0x0,0x8077,0x2040,0x8010,0x80d0 },
	{ 0x1,0x8077,0x8077,0x8012,0x80cf },
	{ 0x4,0x8077,0x8079,0x2042,0x8077 },
	{ 0x0,0x8079,0x2040,0x8011,0x80d0 },
	{ 0x1,0x8079,0x8079,0x8013,0x80cf },
	{ 0x1,0x80d2,0x807b,0x80cf,0x204e },
	{ 0x0,0x807b,0x2040,0x8014,0x80cf },
	{ 0x1,0x807b,0x807b,0x8016,0x80d2 },
	{ 0x4,0x807b,0x807d,0x2042,0x807b },
	{ 0x0,0x807d,0x2040,0x8015,0x80cf },
	{ 0x1,0x807d,0x807d,0x8017,0x80d2 },
	{ 0x1,0x8000,0x8000,0x80d2,0x204e },
	{ 0x1,0x8001,0x8001,0x80d2,0x204e },
	{ 0x0,0x80d2,0x2040,0x8002,0x4002 },
	{ 0x0,0x80e3,0x80d2,0x2040,0x2040 },
	{ 0x0,0x80cf,0x807f,0x8018,0x80d2 },
	{ 0x0,0x807f,0x2040,0x8019,0x80d2 },
	{ 0x1,0x807f,0x807f,0x801b,0x80cf },
	{ 0x4,0x807f,0x8081,0x2042,0x807f },
	{ 0x0,0x8081,0x2040,0x801a,0x80d2 },
	{ 0x1,0x8081,0x8081,0x801c,0x80cf },
	{ 0x1,0x80d0,0x8083,0x80cf,0x204e },
	{ 0x0,0x8083,0x2040,0x801d,0x80cf },
	{ 0x1,0x8083,0x8083,0x801f,0x80d0 },
	{ 0x4,0x8083,0x8085,0x2042,0x8083 },
	{ 0x0,0x8085,0x2040,0x801e,0x80cf },
	{ 0x1,0x8085,0x8085,0x8020,0x80d0 },
	{ 0x1,0x80cf,0x8087,0x80d0,0x204e },
	{ 0x0,0x8087,0x2040,0x8021,0x80d0 },
	{ 0x1,0x8087,0x8087,0x8023,0x80cf },
	{ 0x4,0x8087,0x8089,0x2042,0x8087 },
	{ 0x0,0x8089,0x2040,0x8022,0x80d0 },
	{ 0x1,0x8089,0x8089,0x8024,0x80cf },
	{ 0x1,0x80d0,0x808b,0x80cf,0x204e },
	{ 0x0,0x808b,0x2040,0x8025,0x80cf },
	{ 0x1,0x808b,0x808b,0x8027,0x80d0 },
	{ 0x4,0x808b,0x808d,0x2042,0x808b },
	{ 0x0,0x808d,0x2040,0x8026,0x80cf },
	{ 0x1,0x808d,0x808d,0x8028,0x80d0 },
	{ 0x1,0x8000,0x8000,0x80d0,0x204e },
	{ 0x0,0x80cf,0x808f,0x8029,0x80e9 },
	{ 0x0,0x808f,0x2040,0x802a,0x80e9 },
	{ 0x1,0x808f,0x808f,0x802c,0x80cf },
	{ 0x4,0x808f,0x8091,0x2042,0x808f },
	{ 0x0,0x8091,0x2040,0x802b,0x80e9 },
	{ 0x1,0x8091,0x8091,0x802d,0x80cf },
	{ 0x1,0x80d0,0x8093,0x80cf,0x204e },
	{ 0x0,0x8093,0x2040,0x802e,0x80cf },
	{ 0x1,0x8093,0x8093,0x8030,0x80d0 },
	{ 0x4,0x8093,0x8095,0x2042,0x8093 },
	{ 0x0,0x8095,0x2040,0x802f,0x80cf },
	{ 0x1,0x8095,0x8095,0x8031,0x80d0 },
	{ 0x1,0x8000,0x8000,0x80d0,0x204e },
	{ 0x0,0x80d2,0x2040,0x8002,0x4003 },
	{ 0x0,0x80e5,0x80d2,0x2040,0x2040 },
	{ 0x0,0x80cf,0x8080,0x8018,0x80d2 },
	{ 0x0,0x8080,0x2040,0x8019,0x80d2 },
	{ 0x1,0x8080,0x8080,0x801b,0x80cf },
	{ 0x4,0x8080,0x8082,0x2042,0x8080 },
	{ 0x0,0x8082,0x2040,0x801a,0x80d2 },
	{ 0x1,0x8082,0x8082,0x801c,0x80cf },
	{ 0x1,0x80d0,0x8084,0x80cf,0x204e },
	{ 0x0,0x8084,0x2040,0x801d,0x80cf },
	{ 0x1,0x8084,0x8084,0x801f,0x80d0 },
	{ 0x4,0x8084,0x8086,0x2042,0x8084 },
	{ 0x0,0x8086,0x2040,0x801e,0x80cf },
	{ 0x1,0x8086,0x8086,0x8020,0x80d0 },
	{ 0x1,0x80cf,0x8088,0x80d0,0x204e },
	{ 0x0,0x8088,0x2040,0x8021,0x80d0 },
	{ 0x1,0x8088,0x8088,0x8023,0x80cf },
	{ 0x4,0x8088,0x808a,0x2042,0x8088 },
	{ 0x0,0x808a,0x2040,0x8022,0x80d0 },
	{ 0x1,0x808a,0x808a,0x8024,0x80cf },
	{ 0x1,0x80d0,0x808c,0x80cf,0x204e },
	{ 0x0,0x808c,0x2040,0x8025,0x80cf },
	{ 0x1,0x808c,0x808c,0x8027,0x80d0 },
	{ 0x4,0x808c,0x808e,0x2042,0x808c },
	{ 0x0,0x808e,0x2040,0x8026,0x80cf },
	{ 0x1,0x808e,0x808e,0x8028,0x80d0 },
	{ 0x1,0x8001,0x8001,0x80d0,0x204e },
	{ 0x0,0x80cf,0x8090,0x8029,0x80e7 },
	{ 0x0,0x8090,0x2040,0x802a,0x80e7 },
	{ 0x1,0x8090,0x8090,0x802c,0x80cf },
	{ 0x4,0x8090,0x8092,0x2042,0x8090 },
	{ 0x0,0x8092,0x2040,0x802b,0x80e7 },
	{ 0x1,0x8092,0x8092,0x802d,0x80cf },
	{ 0x1,0x80d0,0x8094,0x80cf,0x204e },
	{ 0x0,0x8094,0x2040,0x802e,0x80cf },
	{ 0x1,0x8094,0x8094,0x8030,0x80d0 },
	{ 0x4,0x8094,0x8096,0x2042,0x8094 },
	{ 0x0,0x8096,0x2040,0x802f,0x80cf },
	{ 0x1,0x8096,0x8096,0x8031,0x80d0 },
	{ 0x1,0x8001,0x8001,0x80d0,0x204e },
	{ 0x1,0x80d0,0x2040,0x2040,0x204e },
	{ 0x0,0x8000,0x8000,0x8005,0x80d0 },
	{ 0x0,0x8001,0x8001,0x8005,0x80d0 },
	{ 0x4,0x8000,0x2040,0x8000,0x8006 },
	{ 0x4,0x8001,0x2040,0x8001,0x8006 },
};

